//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
//////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2003 Intrinsyc Europe Ltd.
//////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2004 Siemens AG
//
// Version: 1.1.2.5
// Date:    11. Jan. 2006
//////////////////////////////////////////////////////////////////////////////

#ifndef RILEXTAPI_H
#define RILEXTAPI_H TRUE

#define RIL_DEVSPECIFIC_BANDHANDOVER      0x01
#define RIL_DEVSPECIFIC_GETMODEMTYPE      0x02
#define RIL_DEVSPECIFIC_GETVERSIONINFO    0x03
#define RIL_DEVSPECIFIC_DISABLEURCS       0x04
#define RIL_DEVSPECIFIC_ENABLEURCS        0x05
#define RIL_DEVSPECIFIC_SEND_ATC          0x06
#define RIL_DEVSPECIFIC_FORCEEQSTATEOFF   0x07

#define RIL_NOTIFY_DEVSPECIFIC_EMERG_SHUTDOWN      (0x00001001 | RIL_NCLASS_DEVSPECIFIC) // Emergency-Shutdown caused by the module (causes see below)
#define RIL_NOTIFY_DEVSPECIFIC_EMERG_SHUTDOWN_WARN (0x00001002 | RIL_NCLASS_DEVSPECIFIC) // Warning of possible Emergency-Shutdown caused by the module (causes see below) (EMERG_SHUTDOWN_NONE == all clear)
#define RIL_NOTIFY_DEVSPECIFIC_SIM_MEMORY_FULL     (0x00001003 | RIL_NCLASS_DEVSPECIFIC) // SMS memory on SIM full (for Ozone-RIL only), in Magneto: RIL_NOTIFY_SIMSTATUSCHANGED:RIL_SIMSTATUSCHANGED_FULL

#define RIL_NOTIFY_DEVSPECIFIC_SAP                  (0x00002000 | RIL_NCLASS_DEVSPECIFIC) // SAP connection state changed

// Causes for emergency shutdown:
#define EMERG_SHUTDOWN_NONE               0x0000
#define EMERG_SHUTDOWN_UNDERVOLTAGE       0x0001
#define EMERG_SHUTDOWN_OVERTEMPERATURE    0x0002
#define EMERG_SHUTDOWN_UNDERTEMPERATURE   0x0003
#define EMERG_SHUTDOWN_POWERLOSS          0x0004

// Causes for SAP notification
#define SAP_CONNECTED                     0x0000
#define SAP_DISCONNECTED                  0x0001

enum MODEMTYPE {
    MODEMTYPE_UNKNOWN = 0,
    MODEMTYPE_SIEMENS_MC45,
    MODEMTYPE_SIEMENS_MC46,
    MODEMTYPE_SIEMENS_MC55,
    MODEMTYPE_SIEMENS_MC56,
    MODEMTYPE_SIEMENS_AC45,
    MODEMTYPE_SIEMENS_MC75,
    MODEMTYPE_SIEMENS_TC63,
    NUMBER_OF_SUPPORTED_MODEMTYPES
};

#define RADIO_VERSION_STRUCT_VERSION      0x01000000
typedef struct tagRadioVersionInfo {
    DWORD dwStructVersion;
    DWORD dwRILVersion;
    DWORD dwMuxVersion;
    DWORD dwAudVersion;         // MC75: version of mode 1 downlink audio version.
    DWORD dwRHAVersion;
} RADIO_VERSION_INFO, *PRADIO_VERSION_INFO;

#define RIL_AUDIO_PROF_START  (TEXT("EVT_RIL_AUDPROF_START"))
#define RIL_AUDIO_PROF_END    (TEXT("EVT_RIL_AUDPROF_END"))

// Additional audio modes supported by the RIL. Can be used with RHA_ConfirmAudioMode().
#define RIL_AUDIO_SIEMENS_BLUETOOTHHEADSET		100
#define RIL_AUDIO_SIEMENS_BLUETOOTHCARKIT		101
#define RIL_AUDIO_SIEMENS_GENERIC1				102
#define RIL_AUDIO_SIEMENS_GENERIC2				103

#endif
